#ifndef RECTANGLE_H
#define RECTANGLE_H

#include <cmath>
#include <vector>
#include "point.h"
#include "ligne.h"

using namespace std;
//
// Definition de la classe Rectangle (entetes)
//
class Rectangle
{
	Point p_h_gauche, p_b_droit;
	vector<Ligne> rect_ligne;
  
  public:
    
    // constructeurs
    Rectangle(Point, Point);
    Rectangle();
  
    // pour re-initialisation
    void init(Point, Point);
  
    // fonction pour la mise au Point
    void afficher(Canevas &);
    
    //Fonction pour faire tourner un Point autour d'un centre
    void rotation(Point centre, double angleRadian);
  
    // fonction pour deplacer un Point en absolu.  Les parametres sont des
    // deplacement par rapport a la position courante.
    void deplacement(int deltaX, int deltaY);
  
    // fonction pour deplacer un Point proportionnellement a un centre.  
    // Les parametres sont le Point de reference un la proportion du deplacement
    void modif_taille(Point ancre, float proportion);

    //Fonction recuperation des valeurs des points
    Point val_P_Gauche();
    Point val_P_Droit();

  private :
    void genere_ligne();
   
};
#endif
